package com.hmdp.service;

/**
 * @ClassName ILock
 * @Description TODO
 * @Author daoketa
 * @Date 2023/1/8 22:40
 * @Version 1.0
 * 分布式锁
 **/
public interface ILock {

    /**
     * 尝试获取锁
     * @param timeoutSec 锁的超时时间
     * @return true 获取锁成功， false 获取锁失败
     * */
    boolean tryLock(long timeoutSec);

    /**
     * 释放锁
     * */
    void unLock();

    /**
     * Lua 脚步释放锁
     * */
    void LuaUnLock();

}
